package main

import "fmt"

func main() {
	var i int = 100
	//定义指针
	var ptr *int = &i
	fmt.Println(&i)
	fmt.Println(ptr)
	fmt.Printf("%v \n", ptr)
	//指针本身也有一个地址，自身的地址就是&ptr,这个地址存的内容是i的地址&i
	fmt.Println(&ptr)
	//获取ptr指针指向的值，而不是地址
	fmt.Println(*ptr)
	//通过ptr去修改i的值
	fmt.Println(i)
	*ptr = 10 //这里只是修改了值，ptr指针指向的地址是不变的
	fmt.Println(i)
}
